package com.eps.dao;

import java.io.Serializable;
import java.util.List;

/**
 * 数据库操作类
 * User: Red_Code
 * Date: 12-10-29
 * Time: 下午5:17
 */
public interface daointerface extends Serializable {

    /**
     * 增加一个对象到数据库
     * @param obj 欲增加的对象
     */
    public void save(Object obj) throws Exception;

    /**
     * 删除对象
     * @param cls 要删除的对象的类的类型
     * @param id 要删除的对象在数据库中的id
     */
    public void delete(Class cls,long id);

    /**
     * 查找并返回一个对象
     *
     * @param cls  要查找的对象的类的类型
     * @param id   要查找的对象的ID
     * @return
     */
    public Object find(Class cls, long id);

    /**
     * 查找并返回所有对象
     * @param cls
     * @return
     */
    public List findAll(Class cls );

    /**
     * 根据hql返回结果对象
     * @param hql hql语句
     * @return
     */
    public List findByHQL(String hql);

    /**
     * 从数据库中删除一个对象
     * @param obj
     */
    public void update(Object obj);
}
